package com.jpro.module.bpm.api.task.vo;



import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;

@Schema(description = "管理后台 - 流程实例的创建 Request VO")
@Data
public class BpmProcessInstanceCreateReqVO {

    @Schema(description =  "流程定义的编号", required = true, example = "1024")
    @NotEmpty(message = "流程定义编号不能为空")
    private String processDefinitionId;

    @Schema(description =  "变量实例")
    private Map<String, Object> variables;

    /**
     * 业务的唯一标识
     * <p>
     * 例如说，请假申请的编号。通过它，可以查询到对应的实例
     */
    @Schema(description = "业务的唯一标识")
    private String businessKey;

    @Schema(description = "发起人自选审批人 Map", example = "{taskKey1: [1, 2]}")
    private Map<String, List<Long>> startUserSelectAssignees;

}
